/*
 *  POJ2389: Bull Math
 */

/*-------- Includes --------*/
#include <iostream>
#include <cstring>

/*-------- Defines --------*/
#define MAX_SIZE 128

/*-------- Using --------*/
using namespace std;

/*-------- Main Function --------*/
int main(int argc, char const *argv[])
{
    int i, j;
    char cstr1[64], cstr2[64];

    cin >> cstr1 >> cstr2;

    int l1 = strlen(cstr1);
    int l2 = strlen(cstr2);
    int l3;

    int a[l1];
    int b[l2];

    int c[MAX_SIZE] = {0};

    // reverse and atoi
    for (i = 0; i < l1; i++) a[i] = cstr1[l1 - 1 - i] - '0';
    for (i = 0; i < l2; i++) b[i] = cstr2[l2 - 1 - i] - '0';

    // multiply
    for (i = 0; i < l1; i++)
        for (j = 0; j < l2; j++)
            c[i + j] += a[i] * b[j];

    l3 = l1 + l2;

    // carry bit
    for (i = 0; i < l3; i++) {
        if (c[i] > 9) {
            c[i + 1] += c[i] / 10;
            c[i]     %= 10;
        }
    }

    // length of c
    for (i = l3; i > 0 && c[i] == 0; i--);

    l3 = i + 1;

    // print
    for (i = l3 - 1; i >= 0; i--) cout << c[i];
    cout << endl;

    return 0;
}
